Method for categorization of multiple providers in a wireless communication service environment

ABSTRACT

A communication device locates a preferable wireless service provider in a multi-service provider environment using a frequency band search schedule. Initially, the communications device registers with a less preferred service provider in a first frequency band. While remaining registered with the less preferred service provider, the device examines several frequency bands in the order specified by the frequency band search schedule. A frequency band is examined by dividing the frequency band into many sub-bands, and by locating the strongest signal above a threshold within the sub-band being examined. The examination continues until a second frequency band having a more preferred service provider is located. The communication device then registers with the more preferred service provider. The category of service provider may be identified and displayed on the communication device.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.12/186,358, filed Aug. 5, 2008 now U.S. Pat. No. 7,664,499, which iscurrently allowed and is a continuation of U.S. patent application Ser.No. 10/949,313, filed Sep. 27, 2004, now U.S. Pat. No. 7,409,213, whichis a continuation of U.S. patent application Ser. No. 10/099,992, filedMar. 19, 2002, now U.S. Pat. No. 6,807,418, which is a continuation ofU.S. patent application Ser. No. 09/332,499, filed Jun. 14, 1999, nowU.S. Pat. No. 6,377,787, which is a continuation of U.S. patentapplication Ser. No. 08/672,908, filed Jun. 28, 1996, now U.S. Pat. No.6,195,532. The entire disclosures of the prior applications are herebyincorporated by reference herein in their entirety.

BACKGROUND OF THE INVENTION

The present invention relates to communications; more specifically,communications in a multi-service provider environment.

FIG. 1 illustrates a portion of the radio frequency spectrum. Frequencyrange 10 centered around 800 MHz has historically been known as thecellular frequency range and frequency range 12 centered about 1900 MHzis a newer defined range associated with personal communication services(PCS). Each range of frequencies, i.e., the cellular and PCS, are brokeninto two portions. In cellular frequency range 10, there is an uplinkportion 14 which is used for communications from a mobile communicationdevice to a base station such as a cellular base station. Portion 16 ofcellular frequency range 10 is used for downlink communications, that iscommunications from a cellular base station to a mobile communicationdevice. In similar fashion, Portion 18 of PCS frequency range 12 is usedfor uplink communications, that is, communications from a mobilecommunication device to a base station. Portion 20 of PCS frequencyrange 12 is used for downlink communications, i.e., communications froma base station to a mobile communication device.

Each of the frequency ranges are broken into bands which are typicallyassociated with different service providers. In the case of cellularfrequency range 10, frequency bands 30 and 32 are designated band “a”for uplink and downlink communications, respectively. In a particulargeographic area, a cellular service-provider is assigned frequency band“a” in order to carry out mobile communications. Likewise, in the samegeographic area another cellular service provider is assigned frequencybands 34 (uplink) and 36 (downlink) which are designated band “b”. Thefrequency spectrums assigned to the service providers are separated soas to not interfere with each others communications and thereby enabletwo separate service providers to provide service in the same geographicarea. Recently, the US government auctioned the PCS frequency spectrumto service providers. As with the cellular-frequency range, the PCSfrequency range is broken into several bands where a different serviceprovider may use a particular frequency band for which it is licensedwithin a particular geographical area. The PCS bands are referred to asA, B, C, D, E and F. The A band includes uplink band 50 and downlinkband 52. The B band includes uplink band 54 and downlink band 56. Band Cincludes uplink band 58 and downlink band 60. Each uplink and downlinkband of the A, B and C bands are approximately 30 MHz wide. The D bandincludes uplink band 62 and downlink band 64. The E band includes uplinkband 66 and downlink band 68. Likewise, band F includes uplink band 70and downlink band 72. The uplink and downlink bands of bands D, E and Fare approximately 10 MHz wide each. It should be noted that with thecellular and PCS frequency bands, it is possible to have as many aseight different wireless communication service providers in a particulararea.

Each of the different cellular and PCS bands consist of control channelsand communication channels in both the uplink and downlink direction. Inthe ease of analog cellular bands, there are 21 control channels forboth the “a” and “b” bands. Each of the control channels includes anuplink and a downlink portion. The control channels transmit informationsuch as an SOC (System Operator Code), an SID (System Identifier Code),paging information call setup information and other overhead informationsuch as information relating to registering with the mobilecommunication system. The portion of the cellular band's spectrum notoccupied by the control channels is used for communication channels.Communication channels carry voice or data communications, where eachchannel consists of an uplink and downlink communications link.Presently there are several cellular communication standards. An analogstandard known as EIA/TIA 553 was built upon the AMPS (Advanced MobilePhone Service) standard. This standard supports 21 analog controlchannels (ACC) and several hundred analog voice or traffic channels(AVC). A newer standard is the EIA/TIA IS54B standard which supportsdual mode operation. Dual mode operation refers to having an analogcontrol channel, and either an analog voice/traffic channel or a digitaltraffic channel (DTC). The AVC or DTC are used for actualcommunications, and the ACC is used to transfer information relating to,for example, call set-ups, service provider identification, and theother overhead or system information.

A newer standard, the EIA/TIA IS136 standard supports communicationscovered by both analog and dual mode cellular, and also includes atotally digital communication scheme which was designed for the PCSfrequency bands A-F and cellular frequency bands “a” and “b”. Thisstandard allows for a digital traffic channel (DTC) and a digitalcontrol channel (DCCH). In the case of the DTC, not only is the voice ordata communicated, but in addition, a digital channel locator (DL) istransmitted in the DTC. The DL enables a mobile communication devicethat locks onto the DTC to use the information in the DL to locate aDCCH for purposes of obtaining information such as the SOC, SID, paginginformation, and other system overhead information carried on thedigital control channel.

When a mobile communication device such as a mobile telephone attemptsto register with the service provider, it, locks onto a control channeland reads information such as the SOC and SID. If the SOC and/or SIDcorrespond to a service provider with which the user has a communicationservices agreement, the telephone may register with the serviceprovider's mobile communication system via the up-link control channel.

FIG. 2 illustrates a map of the United States illustrating cities suchas Seattle, Chicago and Washington, D.C. For example, in Seattlefrequency band A has been licensed to SOC (Service Operator Code) 001with an SID of 43 and band C has been licensed to SOC 003 with a SID of37. In Chicago, suppose that frequency band C has been licensed to SOC001 with a SID equal to 57, and that band B has been licensed to SOC 003with an SID of 51. In Washington, D.C. suppose that frequency band “a”has been licensed to an SOC 001 with a SID of 21, and that band A hasbeen licensed to SOC 003 with an SID of 17. It should be noted that thesame SOC may be found in several different locations although ondifferent frequency bands. It should also be noted that the same SOCwill be associated with different SIDs in each geographical area andthat in the same geographic area different service providers havedifferent SIDs. If a particular subscriber to a wirelesstelecommunication service has an agreement with a service providerhaving a SOC of 001, that subscriber would prefer to use systems with aSOC of 001 because the subscriber is likely to receive a less expensiverate. When the subscriber is in Seattle he/she would prefer to be onband A, and if in Chicago on band C, and if in Washington, D.C. on band“a”. The above described situation presents a problem for a wirelesscommunication service subscriber. As a subscriber moves from one area ofthe country to another, the telephone when turned on, searches for the“home” service provider, or the service provider with which thesubscriber has a pre-arranged agreement. If for example, the subscribertravels from Seattle to Chicago, when turning the phone on in Chicago,the phone will search through the different bands of the spectrum toidentify the service operator with the code 001 in order to find thedesired service provider.

In order to find a particular service provider, the phone may have tosearch through both the “a” and “b” cellular bands, and through theeight PCS bands. It should be recalled that there are up to 21 differentACCs in each of the “a” and “b” cellular bands. It maybe necessary tocheck 42 ACCS in order to find an ACC from which an SOC or SID may beobtained. Additionally, searching for a particular SOC or SID in PCSbands A through F is particularly time consuming. The digital controlchannels (DCCHs), which contain the SOC and SID, are not assigned tospecific frequencies within a particular PCS band. As a result, themobile communication device may find it necessary to search through thespectrum of each PCS band looking for a DCCH, or an active DTC that hasa digital channel locator (DL) which will direct the mobilecommunication device to the DCCH. As illustrated above, the process ofsearching for a particular service provider is laborious and may requirea period of time on the order of several minutes.

SUMMARY OF THE INVENTION

An embodiment of the present invention provides a method for locating aparticular or desirable communications service provider in anenvironment having a plurality of service providers. After power-up, amobile communications device such as a cellular telephone, checks themost recently used control channel to determine whether an optimalservice provider is available on that channel. If an optimal serviceprovider is not available or if that channel is not available, themobile communication device performs a search through frequency spectrumin a pre-determined order until an optimal or acceptable serviceprovider is located.

In another embodiment of the invention, the frequency spectrum issearched in a pre-determined order that changes based on informationentered by a mobile communication device distributor or mobilecommunication device user. In yet another embodiment of the invention,the pre-determined order for searching the spectrum for serviceproviders is updated by over the air programming. In still anotherembodiment of the present invention, the pre-determined order forsearching is based on the mobile communication device's operationalhistory.

In yet another embodiment of the invention, multiple service providercategories may be identified by matching the SID or SOC broadcast on acontrol channel with information stored in communication device.

In yet another embodiment of the invention, “alpha tags” may bedisplayed on the communication device identifying a particular serviceclass while the communication device is in idle or camping mode.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, referred to herein and constituting a parthereof, illustrate preferred embodiments of the invention and togetherwith the description, serve to explain the principles of the invention,wherein:

FIG. 1 illustrates the frequency spectrum used for wirelesscommunications;

FIG. 2 illustrates service areas within the United States;

FIG. 3 is a block diagram of a mobile communication device;

FIG. 4 is a flow chart illustrating a spectrum searching routine;

FIG. 5 is a flow chart illustrating the global spectrum search routine;

FIG. 6 is a flow chart illustrating a periodic search routine;

FIG. 7 is a flow chart illustrating a received signal strength searchroutine,

FIG. 8 illustrates a search schedule;

FIG. 9 illustrates a search schedule ordered by registration history;

FIG. 10 illustrates a prioritized list of service providers; and

FIG. 11 illustrates display of an alphanumeric tag on a mobilecommunication device.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 3 illustrates a block diagram of a mobile communication device suchas a cellular telephone or personal communication device. Mobilecommunication device 10 includes transceiver 12 which sends and receivessignals from antenna 15. Mobile communication device 10 is controlled bycontrol system 14 which may include a microprocessor or a microcomputer.Control system 14 uses memory 16 for storing programs that are executedand for storing information that is entered by the user, thedistributor, the communication services provider or the manufacturer.Information such as user preferences, user telephone numbers, preferredservice provider lists and frequency search schedules are stored inmemory 16. Memory 16 may include storage devices such as random accessmemory (RAM), read only memory (ROM) and/or programmable read-onlymemory (PROM). A user communicates with control system 14 via keypad 18.Control system 14 communicates information to the user via display 20.Display 20 may be used to display information such as status informationand items such as telephone numbers entered via keypad 18. Soundinformation to be transmitted from the mobile communication device 10 isreceived via microphone 22, and sound communications received by mobilecommunication device 10 are played to the user via speaker 24.

After initially, powering-up a mobile communication device locates aservice provider and registers with the service provider. Recalling FIG.1, service providers are located at a plurality of frequency bandsacross the radio spectrum. In order to find a service provider, thecommunication device searches the spectrum to find service providers.The communications device examines received service provider code, e.g.,SOCs (Service Operator Codes) or SIDS (System Identification Codes) todetermine whether the service provider is in optimal, preferred orprohibited service provider.

FIG. 4 illustrates a process or program that control system 14 executesin order to find a desirable service provider. After power-up, step 30is executed to initialize a non-optimal flag by clearing the flag. Step32 determines whether the last service provider, that is, the serviceprovider used before power down, was an optimal service provider. Thisis determined by checking the SOC or SID of the last service providerand determining whether that service provider's SOC or SID correspondsto the SOC or SID of an optimal service provider. The SOC or SID of thelast service provider and a list of optimal and preferred serviceproviders is stored in memory 16. If in step 32 it is determined thatthe prior service provider was not optimal, a global spectrum search isexecuted. If the last service provider was optimal, step 34 is executedwhere system 14 attempts to lock onto the control signal of the serviceprovider. If the lock is unsuccessful, which may indicate that thatcontrol channel is no longer available or out of range, the globalspectrum search is executed. If a lock is successful, step 36 isexecuted. In step 36, it is determined whether the control channelcontains the SOC or SID of an optimal service provider. Once again, thisis determined by comparing the SOC or SID from the control signal with alist of optimal service provider SOCs or SIDs. If the SOC or SID doesnot belong to that of an optimal service provider, the global spectrumsearch 33 is executed and the identity of the frequency band in whichthe non-optimal SOC or SID was located is passed to global searchroutine 33 so as to avoid unnecessarily searching this portion of thespectrum again. If in step 36 it is determined that an optimal serviceprovider has been located, step 38 registers communication device 10with the service provider. Step 40 is an idle state where control system14 simply monitors the control channel of the service provider forcommunication system overhead information and for paging informationthat may indicate an incoming communication. While in idle state 40, atimer is activated which permits a low-duty cycle search to be performedif the phone is presently registered in a non-optimal service providersystem. This situation may arise if global spectrum search 33 provides apreferred but not optimal service provider. Periodically, such as every5 minutes, step 42 is executed to determine whether the non-optimal flaghas been set, if the non-optimal flag is not set, control system 14:returns to idle step 40. If the non-optimal has been set, step 42 leadsto the execution of periodic search routine 44 where a search isconducted in order to attempt to locate an optimal service provider. Ifperiodic search routine 44 produces an optimal service provider, thenon-optimal service provider-flag is cleared and the mobilecommunication device registers with the optimal service providers whileexecuting periodic search routine 44. The mobile communications devicethen enters and idle state by executing step 40. If an optimal serviceprovider is not located in routine 44, control system 14 returns to anidle state by executing step 40.

FIG. 5 illustrates a flowchart of global spectrum search routine 33which is executed by control system 14. At step 60, it is determinedwhether the last control channel used by the mobile communication devicewas a personal communication services related control channel, that is,a control channel in the bands A through F. If the last control channelwas not a PCS control channel, step 62 is executed. In step 62 it isdetermined whether the mobile communication device can lock onto, orreceive and decode the last ACC (Analog Control Channel) that was used.If the mobile communication device can successfully lock onto the lastACC, step 64 is executed. If the communication device cannot lock ontothe last ACC, step 66 is executed. In step 66, an RSS (Received SignalStrength Scan) is performed. This step involves the mobile communicationdevice tuning to each of the 21 ACCs associated with the cellular bandof the last used ACC, and attempting to lock onto the strongest receivedsignal. In step 68, it is determined whether a lock has been achieved.In step 68 if a lock is not obtained, a predetermined search schedule isexecuted in order to find a service provider; if in step 68 lock isobtained, step 64 is executed where the SOC or SID obtained from thecontrol channel is compared to a list of optimal SOCs or SIDS. In step70 if the received SOC or SID is associated with an optimal serviceprovider, step 72 is executed where the mobile communication deviceclears the non-optimal flags, registers with the communication serviceprovider, and then enters an idle state by executing step 40 of FIG. 4.If, in step 70 it is determined that an optimal service provider sac orSID was not received, step 74 is executed where the identity of thefrequency band just searched is stored in memory 16. Step 78 is executedafter step 74, after 68 if a lock is not obtained, or after step 60 ifthe last control signal was from a PCS frequency band. In step 78, asearch schedule is downloaded using a master search schedule. Whendownloading the search schedule in step 78, frequency bands previouslysearched are removed from the downloaded schedule so as to avoidsearching bands that have already been searched. For example, bandssearched in the search routine discussed with regard to step 74 areremoved from the search schedule. After the modified search schedule hasbeen loaded, a search pointer is initialized to point to the first bandidentified on the modified search schedule. The first band identified onthe modified schedule is searched with regard to received signalstrength (RSS) in step 79's RSS routines. In the case of bands “a” and“b”, the ACC with the strongest signal is selected. In the case of PCSbands, that is the bands A through F, 2.5 MHz sections of each band aresearch in 30 kilohertz steps. The mobile communication device tunes tothe strongest signal that crosses a minimum threshold, e.g., −110 dBm,within the 2.5 MHz band being examined. In step 80 it is determinedwhether the signal is valid, that is, conforms to one of the abovementioned standards. If it is not valid, the search pointer isincremented in step 96, and if the signal is valid, step 82 is executed.In step 82 it is determined whether the signal is an ACC. If the signalis an ACC, the SOC or SID is decoded in step 90. If the signal is not anACC, step 84 determines whether the received signal is a digital trafficchannel (DTC) or a digital control channel (DCCH). If the signal is anDCCH the SOC or SID is extracted in step 90. If it is determined thatthe received signal is a DTC, step 86 is executed where the DL (digitalchannel locator) is extracted to identify the location of the DCCHsassociated with the DTC that has been received. In step 88, the mobilecommunication device tunes to the strongest DCCH of the digital controlchannels identified by the DL. In step 90, the SOC or SID of thereceived DCCH is extracted and in step 91, it is determined whether theSOC or SID is associated with an optimal service provider. If the SOC orSID is associated with an optimal service provider, step 92 clears thenon-optimal flag and step 96 registers the mobile communication devicewith the service provider. After step 96, the communication deviceenters the idle-state in step 40 of FIG. 4. If in step 91 it isdetermined that the SOC or SID does not belong to that of an optimalservice provider, step 94 is executed where the SOC or SID is stored inmemory 16 indicating whether the SOC or SID was at least a preferredrather than an undesirable or prohibited service provider with thespectral location of the SOC's or SID's control channel. In step 96 thesearch pointer that identifies the band being searched, is advanced toidentify the next band in the schedule for searching. In step 98 it isdetermined whether the pointer has reached the end of the searchschedule. If the end of the search schedule has not been reached, step79 is executed to perform another received signal strength searchroutine as discussed above, and if the last frequency band has beensearched, step 100 is executed. In step 100 the mobile communicationdevice registers with the best stored SOC or SID, that is, an SOC or SIDthat has at least been associated with a preferred service provider. Thebest service provider can be identified by comparing the stored SOCs orSID with a list of preferred SOC or SID. The list of preferred SOCs orSIDS can include the optimal SOC(s) or SID(s) and a prioritized list ofpreferred SOCs or SIDS where the higher priority will get preference forregistration. The listing also includes undesirable or prohibited SOC(s)or SID(s) that are used only in emergencies (e.g., 911 calls) or if theuser enters an override command. After registering with the serviceprovider in step 100, step 102 is executed to set the non-optimal flag,and then step 40 of FIG. 4 is executed where the mobile communicationdevice enters the idle state.

It should be noted that the searching operation of FIGS. 4 and 5 may becarried out in a simplified manner. With regard to FIG. 4, controlsystem 14 may execute step 44 after step 30 while always skipping steps32, 34, 36 and 38. With regard to FIG. 5, control system 14 may startthe global spectrum search with step 78 while always skipping steps60-74.

FIG. 6 illustrates a flowchart for the periodic search routine executedby control system 14. In step 120 it is determined whether the periodicsearch flag has been set. If the periodic search flag has not been set,step 122 is executed where periodic search flag is set and the searchschedule is initialized by loading the master search schedule into thesearch schedule used by the periodic search routine; however, thefrequency band currently being received is not included in the searchschedule used for the periodic search routine. Step 122 also sets asearch pointer to the first band in the search schedule. In step 124 areceived signal search (RSS) routine is conducted. As in step 79 of theglobal spectrum search routine of FIG. 5 step 124 is a RSS routine ofany PCS and cellular bands that are in the search schedule. In the caseof a cellular band search, the 21 ACCs are searched using a receivedsignal strength search, i.e., the transceiver tunes to the strongestACC. In the case of a PCS frequency band search, as discussed earlier,each band is broken into segments of approximately 2.5 MHz where asearch of each segment is conducted in 30 kilohertz steps. The strongestsignal within the 2.5 MHz segment and above a minimum threshold, such as110 dBm, is selected. In step 126 the selected signal is examined todetermine if it is valid by conforming to one of the previouslyreferenced standards. If the signal is invalid, step 144 is executed andif the signal is valid, step 129 is executed. Step 129 determineswhether the signal is an ACC. If the signal is an ACC, step 130 isexecuted when the SOC or SID is extracted and if the signal is not anACC, step 132 is executed. Step 132 determines whether a DTC signal hasbeen received. If the signal is not a DTC signal (therefore it is a DCCHsignal), step 130 is executed to extract the SOC or SID from the DCCHsignal. If in step 132 it is determined that a DTC has been received,step 134 is executed to extract the DL to enable tuning to a DCCH. Instep 136 a received signal strength search is conducted of the DCCHswhere the strongest signal is selected, and then step 130 is executed toextract an SOC or SID from the signal. In step 138 it is determinedwhether the SOC or SID is an optimal SOC or SID. If the SOC or SID isoptimal, step 140 clears the non-optimal flag and in step 142 the mobilecommunication device registers with the service provider associated withthe optimal SOC or SID. Step 40 of FIG. 4 is then executed to enter theidle state. If in step 138 it is determined that the SOC or SID was notan optimal service provider, step 144 is executed. In step 144 thesearch pointer is incremented to the next band to be searched. In step146, it is determined whether the entire search schedule has beencompleted. If the schedule has not been completed, step 40 is executedso that the mobile communication device can be returned to the idlestate. If in step 146 it is determined that the search schedule has beencompleted, step 148 clears the periodic search flag and then step 40 isexecuted so that the mobile communication device can enter the idlestate.

FIG. 7 illustrates a flow chart of the RSS routine or received signalstrength search routine which is carried out, for example, in steps 79of FIG. 5 and 124 ‘of’ FIG. 6. Step 170 determines whether the bandbeing searched in one of the “a” or “b” cellular bands. If a cellularband is being searched; step 172 is executed where the 21 ACCs aresearched to determine which is the strongest, the strongest ACC is tunedto by transceiver 12 under the control of control system 14 and then theRSS routine is exited. If in step 170 it is determined that a cellularband is not being searched, step 78 tunes transceiver 12 to thebeginning of the first 2.5 is band in the PCS band being searched. Step178 also clears a search scratch pad memory location in memory 16. Thesearch scratch pad is used to record the amplitude or strength andlocation of a received signal. In step 180 it is determined whether thesignal being received is greater than a threshold. If the signal isgreater than the threshold, step 182 is executed, if the signal is notgreater than the threshold, step 184 in executed. In step 182 itdetermined whether the received signal strength is greater than thesignal strength value stored in the search scratch pad. If the receivedsignal is not greater, then step 184 is executed. If the received signalstrength is greater, step 186 is executed and the present signalstrength is recorded in the search scratch pad with the receivedsignal's location in the spectrum. In step 184, transceiver 12 is tunedto a frequency 30 kilohertz higher than the frequency at which it wastuned. Step 188 determines whether the new frequency extends beyond the2.5 MHz band currently being searched. If the new frequency does notexceed the 2.5 MHz band, step 180 is executed to once again examinereceived signal strength relative to the signal strength or amplitudevalue stored in the search scratch pad. If in step 188 it is determinedthat the 30 kilohertz increment extends beyond the 2.5 MHz band beingexamined, step 190 is executed. In step 190, the transceiver tunes tothe signal location specified in the search scratch pad. If the signalis a valid signal and can be decoded, the RSS routine is exited. If thesignal is not valid or cannot be decoded, (e.g., the signal does notconform to the above-referenced standards), step 192 is executed. Instep 192, the transceiver is tuned to the beginning of the next 2.5 MHzband within the PCS band being searched. Step 194 determines whether thenew 2.5 MHz band extends beyond the PCS band currently being searched.If the new increment extends beyond the PCS band being searched, theperiodic search routine is exited. If the 2.5 MHz increase does notresult in extending beyond the PCS band being searched, step 196 isexecuted. In step 196, the search scratch pad containing signal strengthmeasurements and signal location information is cleared to prepare forsearching another band. After step 196, step 180 is executed asdescribed above.

FIG. 8 illustrates a master search schedule. The master schedule is usedto initialize search schedules used in the above described searchroutines. The master search schedule is stored in a memory such asmemory 16. The master search schedule can be initially programmed by themobile communication device's manufacturer, distributor or user. Itshould be noted that the first location in the search schedule is leftunprogrammed. If left blank, the blank is ignored when initializing thesearch schedules for the search routines. It is desirable for the firstlocation to be programmed with the band in which the user's home serviceprovider resides. For example, if the user has a service agreement witha service provider who is licensed to operate in PCS band B within theSID or geographical area in which the user most frequently is located,band B is programmed into the first slot of the master search schedule.If, for example, band B is programmed in the first slot, the slotoriginally containing band B is made blank. This avoids searching thesame band twice. It should also be noted that the user can vary themaster search schedule through keypad 18. Additionally, the mastersearch schedule may be reprogrammed using signals received over thewireless communication channel. For example, the Mobile communicationdevice may be restricted to accepting new programming for the mastersearch schedule only from a service provider transmitting the home SIDand an optimal SOC. It is also possible to accept over the airprogramming if the service provider sends a prearranged code. It isdesirable to restrict the over the air programming through the use ofcodes, home SIDS and/or optimal SOCs to avoid unintentional orundesirable altering of the master search schedule. Over the airprogramming may be implemented using for example, logical sub-channelsof a digital control channel. The logical sub-channels have thecapability to transmit data addressed to a particular mobilecommunication device and to receive data, such as confirmation data,from the mobile communications device.

When the search schedules are initialized using the master searchschedule, it is also possible to precede the first location in themaster search schedule with other frequency bands based on, for example,the prior history of the mobile communication devices use. For example,the first location searched may be the location where the phone was lastturned off (powered down) or the location where the phone was lastturned on (powered up).

The frequency band search schedule may also be defined based uponsupervision of the search process by the mobile communication device. Bythis method, the mobile communication device 10 provides, develops, andmaintains a table in memory 16 for a counter associated with eachfrequency band in the master search schedule. While roaming, each timethe mobile communication device acquires service from a preferredprovider, the counter value associated with the frequency band isincremented thereby retaining information establishing a “personalroaming history” for the user. The mobile communication device then usesthese counter values to alter the order of search of the frequency bandsof the master search schedule.

FIG. 9 illustrates a table stored in memory 16 providing a counterassociated with each frequency band in the master search schedule ofFIG. 8. Based upon the counter values in the table, the frequency bandwith the highest registration success rate as defined by its associatedcounter value would follow the home frequency band in the master searchschedule. Thereafter, each additional frequency band with a non-zerocounter would follow, according to its counter value, from highest tolowest. Frequency bands with a counter value of zero would then follownon-zero entries in their originally defined order.

As preferably embodied, the counter associated with each frequency bandshould store only a finite number of registrations, e.g., 10, to keepstorage requirements in memory 16 to a minimum. Additionally, the storedcounter values may represent time-weighted registrations with moreweight given to the most recent registrations. Advantageously, such timeweighting of the counter values will serve to optimize searchefficiency.

It will be appreciated that the occasion may arise when the mastersearch schedule needs to be reset and the order of search may beredefined and the counter values zeroed by any of the previouslydiscussed programming methods.

FIG. 10 illustrates a table stored in memory 16 defining the optimalservice providers SOC and SIDS, and preferred service providers SOCs andSIDs. The SOC or SID with the lowest number has the highest priority andis preferred over service providers with higher numbers and therefore alower priority. For example, an SOC or SID with a priority level 2 mouldbe preferred over an SOC or SID with a priority level of 5. The tablemay also include SOCs or SID that are undesirable or prohibited. In thecase of SOCs or SIDs that are prohibited, it is desirable to permitconnection to the prohibited SOCs or SIDs when an emergency call, suchas a 911 call is attempted or when the user enters an override command.The table in FIG. 10 may be programmed by the manufacturer, by thedistributor when the phone is purchased, or by the user. It is alsopossible to program the table of FIG. 10 over the air using restrictionssimilar to those used when programming the master search schedule overthe air.

Multiple service provider categories may be identified by matching theSID or SOC broadcast on a control channel with the entries in the tableof FIG. 10. These categories may include:

(1) home—service provider of choice and normally the service providerwith whom the user has a service agreement. If a mobile communicationdevice is registered on or finds a control channel for a home serviceprovider, the device does not attempt to find service on any otherfrequency band.

(2) partner—a partner with the home service provider. If a mobilecommunication device is registered on or finds a control channel for apartner service provider, the device does not attempt to find service onany other frequency band.

(3) preferred—a service provider with whom the home service provider hasa preferential rate and/or service agreement. The mobile communicationdevice will register with a favored service provider only if a home orpartner service provider is not found. On the occurrence of certainevents, such as a control channel change and/or periodically, the mobilecommunication device will search other frequency bands for a home orpartner service provider.

(4) forbidden—a service provider which is never used under normalcircumstances.

(5) neutral—a service provider not identified by a SID or SOC entry inthe table of FIG. 10. The mobile communication device will register on aneutral service provider if none of home, partner, or preferred serviceproviders are found. On certain events such as a control channel changeand/or periodically, the mobile communication device will search otherfrequency bands for a home, partner, or preferred service provider.

While the invention has been described in its preferred embodiments, itis to be understood that the words which have been used are words ofdescription, rather than limitation, and that changes may be made withinthe purview of the appended claims without departing from the true scopeand the spirit of the invention in its broader aspects. For example,“alpha tags” which are stored in memory 16, may be displayed on a mobilecommunication device identifying a particular service class while themobile communication device is in idle or camping mode. The alpha tagscan be programmed or changed as part of over the air activation or overthe air programming as previously discussed. In an instance where XYZ isthe home service provider, the alpha tags could be:

(1) home - “XYZ” (2) partner - “XYZ partner” (3) preferred - “XYZpreferred” (4) neutral - “ROAMING”

Existing standards allow for the broadcast of an alpha tag on a controlchannel and its display on a mobile communication device when in theidle or camping state. For instance, if a mobile communication deviceused by an XYZ subscriber was in an ABC market, the phone might display“ABC”. The system described herein, however, would allow the homeservice provider XYZ to control the mobile communication device todisplay “XYZ” as illustrated in FIG. 11. Further, alpha tags could beupdated as marketing requirements dictate.

1. A method by which a wireless communication device locates a wirelessservice provider in a multi-service provider environment, comprising:storing a frequency search schedule, where the frequency search schedulecomprises a listing of a plurality of frequency bands in a predeterminedorder; performing a global search for an optimal service provider,including searching the plurality of frequency bands in thepredetermined order specified by the frequency search schedule; whilesearching the plurality of frequency bands, if the optimal serviceprovider is found, then halting the search and then registering with theoptimal service provider; and after searching the plurality of frequencybands, if the optimal service provider has not been found, thenregistering with a best preferred service provider, where the bestpreferred service provider has a highest priority of all serviceproviders found while searching the plurality of frequency bands.
 2. Themethod of claim 1, further comprising: ordering one of the plurality offrequency bands in the frequency search schedule based upontime-weighted counts of previous registrations with service providers ineach frequency band of the plurality of frequency bands.
 3. The methodof claim 2, further comprising: incrementing a counter corresponding toone of the plurality of frequency bands in the frequency search scheduleupon registration with a service provider in that one frequency band;and adjusting the counter by a time-weighting factor to produce atime-weighted count corresponding to that one frequency band.
 4. Themethod of claim 1, further comprising: attempting to lock onto a controlchannel before performing the global search, the control channelassociated with a service provider last used by the wirelesscommunication device, if the service provider last used by the wirelesscommunication device was the optimal service provider.
 5. The method ofclaim 1, further comprising: searching a frequency band that had carrieda service provider last used by the wireless communication device beforeperforming the global search, if the last used service provider was theoptimal service provider.
 6. The method of claim 1, further comprising:performing a periodic search for the optimal service provider if theglobal search did not find the optimal service provider.
 7. The methodof claim 6, wherein the performing the periodic search for the optimalservice provider comprises: waiting in an idle state until a timerexpires, then exiting the idle state; after exiting the idle state,searching one of the plurality of frequency bands that is next to besearched according to the frequency search schedule and a periodicsearch pointer; while searching the next one of the plurality offrequency bands, if the optimal service provider is found, then haltingthe searching and registering with the optimal service provider; andafter searching the next one of the plurality of frequency bands, if theoptimal service provider has not been found, then incrementing theperiodic search pointer and returning to the idle state.
 8. A method bywhich a wireless communication device locates a wireless serviceprovider in a multi-service provider environment, comprising: searchingfor an optimal service provider in a last used frequency band that waslast used by the wireless communication device for a last used serviceprovider; registering with the optimal service provider, if the optimalservice provider was found in the last used frequency band; if theoptimal service provider was not found in the last used frequency band,then performing a search for an acceptable service provider, where thesearch searches in a plurality of frequency bands listed in a searchschedule in an order specified by the search schedule; while performingthe search, if the optimal service provider is found, then halting thesearch and registering with the optimal service provider; and afterperforming the search, if the optimal service provider has not beenfound, then registering with the acceptable service provider having ahighest priority.
 9. The method of claim 8, further comprising:performing a periodic search for the optimal service provider if thesearch did not find the optimal service provider.
 10. The method ofclaim 9, wherein the performing the periodic search for the optimalservice provider comprises: waiting in an idle state until a timerexpires, then exiting the idle state; after exiting the idle state,searching a next one of a plurality of frequency bands listed in aperiodic search schedule, wherein the next one frequency band is next tobe searched according to the periodic search schedule and a periodicsearch pointer; while searching the next one of the plurality offrequency bands, if the optimal service provider is found, then haltingthe searching and registering with the optimal service provider; andafter searching the next one of the plurality of frequency bands, if theoptimal service provider has not been found, then incrementing theperiodic search pointer and returning to the idle state.
 11. The methodof claim 10, further comprising: removing a frequency band from theperiodic search schedule wherein the frequency band that is removed isone of the plurality of frequency bands listed in the periodic searchschedule in which the acceptable service provider was found.
 12. Themethod of claim 9, further comprising: ordering one of the plurality offrequency bands in the periodic search schedule based upon time-weightedcounts of previous registrations with service providers in eachfrequency band.
 13. The method of claim 8, further comprising: removingthe last used frequency band from the search schedule if the last usedfrequency band was searched before performing the search.
 14. The methodof claim 8, further comprising: ordering one of the plurality offrequency bands in the search schedule based upon time-weighted countsof previous registrations with service providers in each frequency band.